Cette sortie correspond à une évolution majeure du logiciel.
L’équipe de Lodel.org a travaillé à la création de nouvelles fonctionnalités, à l’apport d’améliorations et à la correction de bugs de la précédente version.
Voici ci-dessous la liste des améliorations et des nouvelles fonctionnalités apportées au logiciel dans la version 0.9 RC1 :
Évolutions dans l’interface privée
- Il est désormais possible de réaliser des « drag’n’drop » (cliquer-glisser-déposer) des entités (collections, numéros, articles…) pour facilement changer l’ordre des entités
- Mise en place de l’affichage des alias qui permet d’établir des liens entre les entités
- Déploiement des conteneurs dynamiquement grâce à la technologie AJAX sans rechargement de page
- Affichage du sitemap en version XML qui n’était pas visible auparavant dans l’interface privée
- Lors du rechargement d’un document les fac-similés/index sont désormais gardés
- Lors de la création d’utilisateurs, un mail est maintenant envoyé à l’utilisateur créé contenant le login, le mot de passe et l’url du site
- Une liste des utilisateurs connectés s’affiche une fois connecté
- Un système de messagerie interne permet d’envoyer des messages aux autres utilisateurs de la revue
- Traduction du site et de l’interface : ajout d’une fonctionnalité permettant de récupérer toutes les variables de traductions contenues dans les templates et d’ajouter les entrées correspondantes si elles n’existent pas
- Amélioration du système de mise en maintenance d’un ou plusieurs sites
Évolutions dans l’interface publique
- Possibilité de réduire le desk (bandeau affichant les fonctionnalités de l’interface privée) côté site
Gestion du modèle éditorial (ME)
- Possibilité d’ajout d’un masque de validation de champs (supporte les expressions régulières) (voir http://blog.lodel.org/47)
- Export/mise à jour du modèle éditorial en XML (encore en phase béta)
Corrections de bugs
- L’interface pour IE 7 a été débuggée
- Correction d’une erreur d’affichage sur la page de traductions : les langues affichées ne correspondaient pas forcément à la langue des variables
Amélioration du comportement
- Il y a désormais un seul point d’entrée dans Lodel : la gestion des requêtes se fait uniquement par le controller et non plus par l’index.php
- La gestion des accès restreint peut maintenant se faire par IP
- Il est maintenant possible de construire des urls du type www.monsite.com/[id] ([id] correspond à l’id de l’entité à afficher)
- Le système de cache recompile désormais automatiquement le template si celui-ci a été modifié depuis la dernière compilation (uniquement côté site et lorsqu’on est en mode debug)
- Ajout des constantes ‘backoffice’ et ‘backoffice-lodeladmin’ indiquant respectivement que l’on se trouve côté interface du site ou côté lodeladmin.
- Ajout d’un paramètre ‘nocache’ indiquant à la classe générant les pages web de ne pas utiliser le cache (lecture et écriture)
Améliorations dans le noyau
- Passage des classes en PHP 5
- Ajout de l’autoload pour les classes internes
- Passage du context de variable globale à une classe statique, et centralisation des variables de configuration en lecture seule
- Ajout d’un système de plugin (encore en phase béta) (voir http://www.lodel.org/wiki/index.php/Plugins)
- Gestion des erreurs grandement améliorée : suppression des ‘die’ intempestifs et ajout d’un gestionnaire d’erreurs interne centralisé
- Compatibilité avec le niveau d’erreur PHP E_STRICT
Optimisations du code
- Pour améliorer les performances générales de Lodel, le parser LodelScript a été modifié pour intégrer ADOdb ( ADOdb (voir http://phplens.com/lens/adodb/docs-adodb.htm) est une API orientée objet offrant un support d’abstraction de bases de données) afin de pouvoir utiliser les drivers de base de données MySQL ou MySQLi (voir http://blog.lodel.org/43)
- Refonte de la classe générant les pages (voir http://blog.lodel.org/43)
- Conversion presque totale de Lodel pour utiliser ADOdb (seul le script d’installation utilise les fonctions mysql_*)
- Mise en cache de certains résultats SQL (templates, variables de traductions)
- Intégration de l’API HTMLPurifier (voir http://htmlpurifier.org) et suppression de la classe InputFilter
- Mise à jour des APIs PclZip (voir http://www.phpconcept.net/pclzip/) et ADOdb
Développement du code (LodelScript)
- Ajout des filtres lexplode (appel de la fonction PHP explode) et lmath (fonction mathématiques basiques : addition, soustraction, division, multiplication)
- Ajout de la syntaxe [#VAR.STRING.#VAR2….] permettant de parcourir un tableau multidimensionnel
- Gestion des variables de types tableau